Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

323
Vistas
How can I get value in [Object]

I'm working on coinmarketcap.com api and I need only name and price and save to Mongo. It is working but at the end undefined value returned. Price value is under the quote. What is wrong ?

const axios = require('axios');
let response = null;
new Promise(async (resolve, reject) => {
  try {
    response = await axios.get('https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=2', {
      headers: {
        'X-CMC_PRO_API_KEY': 'myKey',
      },
    });
  } catch(ex) {
    response = null;
    console.log(ex);
    reject(ex);
  }
  if (response) {
  const coin = response.data;
  console.dir(coin, { depth: null }); 
  console.log(coin.data.map(a => { a.name,  a.quote.price}));
    resolve(coin);
  }
}
);
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

You shuldn't be wrapping this in another Promise (see: What is the explicit promise construction antipattern and how do I avoid it?) , just make a method which is async

async function getCoin(){
  try {
    const response = await axios.get('https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=2', {
      headers: {
        'X-CMC_PRO_API_KEY': 'YOURKEY',
      },
    });
    const coin = response.data;
    console.dir(coin, { depth: null }); 
    return coin;
  } catch(ex) {
    console.log(ex);
    throw ex;
  }
}
about 4 years ago · Juan Pablo Isaza Denunciar

0

quote contains prices identified by their keys like this:

"quote": {
                "USD": {
                    "price": 42177.91536878145,
                    "volume_24h": 18068350418.6717,
                    "volume_change_24h": 8.1323,
                    "percent_change_1h": -0.02144759,
                    "percent_change_24h": -0.48235688,
                    "percent_change_7d": -0.65364542,
                    "percent_change_30d": -1.87762517,
                    "percent_change_60d": -13.80076009,
                    "percent_change_90d": -30.24448455,
                    "market_cap": 799599134284.9932,
                    "market_cap_dominance": 42.7605,
                    "fully_diluted_market_cap": 885736222744.41,
                    "last_updated": "2022-02-14T09:35:00.000Z"
                }
            }

so in order to solve the bug, you need to specify the proper key here (USD for example):

I tested this code and it works please copy it inside the separate js file and check the result(Replace your API key):

const axios = require('axios');
let response = null;
async function getCoin(){
  try {
    const response = await axios.get('https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=2', {
      headers: {
        'X-CMC_PRO_API_KEY': 'KEY',
      },
    });
    const coin = response.data;
    const result = coin.data.map(a => ({ name: a.name,  price: a.quote['USD'].price}))
    console.log(result)
    return coin;
  } catch(ex) {
    console.log(ex);
    throw ex;
  }
}
getCoin()
about 4 years ago · Juan Pablo Isaza Denunciar

0

const axios = require("axios");

async function fetchData() {
  try {
    const response = await axios.get(
      "https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=2",
      {
        headers: {
          "X-CMC_PRO_API_KEY": "myKey",
        },
      }
    );

    return [response, null];
  } catch (error) {
    return [null, error];
  }
}


// in your calling function code base
const [response,error] = await fetchData()

if(response){
    // handle response object in calling code base
    const coin = response.data
}

if(error){
    // handle error explictly in calling code base 
}
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda